package sphere.controller;

import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.TextField;

import sphere.model.Sphere;
import sphere.view.SphereWindow;

public class SphereController implements TextListener {
	private SphereWindow sphereWindow;
	private Sphere sphere;

	public SphereController(SphereWindow sphereWindow) {
		//On récupère la source et on déclare la sphère
		this.sphereWindow = sphereWindow;
		this.sphere = new Sphere();
	}

	@Override
	public void textValueChanged(TextEvent e) {
		//On récupère le texte dans la source
		TextField t = (TextField)e.getSource();
		//On donne un rayon à la sphère (valeur donné dans la zone de texte de la vue)
		sphere.setRayon(Double.parseDouble(t.getText()));
		//Dans la vue on écrit la valeur du surface, calculer par la méthode
		sphereWindow.setTextSurfaceArea(String.valueOf(sphere.calculerSurface()));
		//Dans la vue on écrit la valeur du volume, calculer par la méthode
		sphereWindow.setTextVolume(String.valueOf(sphere.calculerVolume()));
	}
}
